﻿using System.Runtime.Serialization;

namespace RockBus.DataContracts
{
    [DataContract(Namespace = StringConstants.RockBusNamespace)]
    public enum DeliveryModeEnum
    {
        /// <summary>
        /// Messages will be delivered to the destination endpoint individually. No transaction grouping.
        /// </summary>
        [EnumMember]
        Multicast,

        /// <summary>
        /// Messages will be delivered to the destination endpoints in a group.
        ///  If the endpoints are transactional, they will be delivered within one transaction.
        /// </summary>
        //[EnumMember]
        //MulticastTransactional,

        /// <summary>
        /// Messages will be delivered to the endpoints of the destination in a RoundRobin fashion.
        /// </summary>
        //[EnumMember]
        //RoundRobin,

        /// <summary>
        /// Messages will be delivered to the endpoints of the destination in a Random fashion.
        /// </summary>
        //[EnumMember]
        //Random,
    }
}